package zoo.gwt.client;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;

public class ButtonClickHandler implements ClickHandler {
	
	private Button botao;
	private Zoologico zoo;
	
	ButtonClickHandler(Button botao, Zoologico zoo) {
		this.botao = botao;
		this.zoo = zoo;
	}

	@Override
	public void onClick(ClickEvent event) {
		
		if(botao.getText().equals("Criar Habitat"))
			criarHabitatEvent();
		if(botao.getText().equals("Excluir Habitat"))
			ExcluirHabitatEvent();
		if(botao.getText().equals("Criar Animal"))
			criarAnimalEvent();
		if(botao.getText().equals("Excluir Animal"))
			excluirAnimalEvent();
		if(botao.getText().equals("Mover Animal"))
			moverAnimalEvent();
		if(botao.getText().equals("Comprar Animal"))
			comprarAnimalEvent();
		if(botao.getText().equals("Vender Animal"))
			venderAnimalEvent();
		if(botao.getText().equals("Tirar de Venda"))
			tirarDeVendaEvent();
				

	}

	private void comprarAnimalEvent() {
		// TODO Auto-generated method stub
		
	}

	private void moverAnimalEvent() {
		// TODO Auto-generated method stub
		
	}

	private void excluirAnimalEvent() {
		// TODO Auto-generated method stub
		
	}

	private void venderAnimalEvent() {
		// TODO Auto-generated method stub
		
	}

	private void tirarDeVendaEvent() {
		// TODO Auto-generated method stub
		
	}

	private void criarAnimalEvent() {
		// TODO Auto-generated method stub
		
	}

	private void ExcluirHabitatEvent() {
		if (zoo.isExcluirHabitat()) {
			zoo.setExcluirHabitat(false);
			zoo.setAlgumBotaoClicado(false);
			botao.setStyleName("gwt-Button");

		} else if (!zoo.isAlgumBotaoClicado()) {
			zoo.setExcluirHabitat(true);
			zoo.setAlgumBotaoClicado(true);
			botao.setStyleName("button-visited");
		}

		
	}

	private void criarHabitatEvent() {
		if (zoo.isCriarHabitat()) {
			zoo.setCriarHabitat(false);
			zoo.setAlgumBotaoClicado(false);
			botao.setStyleName("gwt-Button");
			zoo.alteraCorHabitat();

		} else if (!zoo.isAlgumBotaoClicado()) {
			zoo.setCriarHabitat(true);
			zoo.setAlgumBotaoClicado(true);
			botao.setStyleName("button-visited");
			Habitat habitat = new Habitat();
			zoo.setNomeHabitatAtual(zoo.getNomeHabitat());
			habitat.setNome(zoo.getNomeHabitatAtual());
			zoo.getHabitats().add(habitat);
		}

		
	}

}
